# log settings
LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
        },
    },
    'handlers': {
        'default': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'logs/common_log.log',
            'maxBytes': 1024 * 1024 * 5,  # 5 MB
            'backupCount': 5,
            'formatter': 'standard',
        },
        # 错误日志处理器，将错误日志输出到文件
        'error_file': {
            'level': 'ERROR',  # 设置日志级别为ERROR
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'logs/error_request.log',  # 错误日志文件路径
            'maxBytes': 1024 * 1024 * 5,  # 5 MB
            'backupCount': 5,
            'formatter': 'standard',
        },
        'request_handler': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'logs/django_request.log',
            'maxBytes': 1024 * 1024 * 5,  # 5 MB
            'backupCount': 5,
            'formatter': 'standard',
        },
    },
    'loggers': {
        '': {
            'handlers': ['default'],
            'level': 'DEBUG',
            'propagate': True
        },
        'django.request': {
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False
        },
        # 错误日志的logger，专门处理错误级别的日志
        'django.errors': {
            'handlers': ['error_file'],
            'level': 'ERROR',  # 只记录ERROR及以上级别的日志
            'propagate': True,  # 不传播到父logger
        },
    }
}